package com.ruoyi.classai.service;

import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.classai.domain.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.classai.domain.dto.GroupDto;
import com.ruoyi.classai.domain.dto.GroupListDto;
import com.ruoyi.classai.domain.vo.GroupDetailVo;
import com.ruoyi.classai.domain.vo.GroupVo;
import com.ruoyi.classai.utils.group.Student;
import com.ruoyi.classai.domain.dto.ModuleLessonPreparationModificationDto;
import com.ruoyi.classai.domain.vo.CommentModuleVo;
import java.util.List;

/**
 * 课程分组Service接口
 * 
 * @author lcj
 * @date 2025-02-28
 */
public interface IEwcCourseGroupingService extends IService<EwcCourseGrouping> {


    boolean updateCourseGroupingFile(EwcCourseGrouping ewcCourseGrouping);

    /**
     *  添加分组信息
     * @param groupDto 分组信息
     */
    void addGroup(GroupDto groupDto);

    /**
     *  查询分组信息
     * @param groupListDto 分组信息
     */
    JSONObject getGroupList(GroupListDto groupListDto);

    /**
     *  调整分组
     * @param groupingId 分组id
     * @param moveGroupingId 移动分组id
     * @param studentId 学生id
     */
    void getGroupAdjust(String groupingId,String moveGroupingId,String studentId,Integer sort,String groupingName);
	
	CommentModuleVo queryCommentModuleDate(ModuleLessonPreparationModificationDto moduleLessonPreparationModificationDto);

    void updateByFileName(AnalysisModeRel analysisModeRel,String aiResult);

    List<GroupStudentDetail> queryGroupDetail(ModuleLessonPreparationModificationDto moduleLessonPreparationModificationDto);

    EwcCourseGrouping getGroupName(String groupingId);

    QueryAiMsg queryAiMsg(AnalysisModeRel analysisModeRel);

    /**
     * 统计小组分组
     * @param chapterId 章节id
     * @return List
     */
    List<Integer> getGroupNum(String chapterId);

    void updateByFileNameForFai(AnalysisModeRel analysisModeRel);
}
